#ifndef WIDGETSHOWCONTROLFORM_H
#define WIDGETSHOWCONTROLFORM_H

#include <QWidget>
#include "groundweatherstationdisplayform.h"
#include "mscatteringlidardisplayform.h"
#include "solarradiometerdisplayform.h"
#include "visibilitydisplayform.h"

namespace Ui {
class widgetShowControlForm;
}

class widgetShowControlForm : public QWidget
{
    Q_OBJECT

public:
    explicit widgetShowControlForm(QWidget *parent = nullptr);
    ~widgetShowControlForm();

private:
    enum enShowDeviceType{
        enGroundWeatherStation = 0,
        enMScatteringLidar = 1,
        enSolarRadiometer = 2,
        enVisibility = 3
    };

signals:
    void Sig_DeviceVisibilityProtocol(protocol::VisibilityProtocol);
    void Sig_DeviceGroundWeatherStationProtocol(protocol::GroundWeatherStationProtocol);

    void Sig_DeviceSolarRadioMeterProtocolNSU(const protocol::RadioMeterNSUProtocolAll& protocol);
    void Sig_DeviceSolarRadioMeterProtocolSTA(const protocol::RadioMeterSTAProtocolAll& protocol);
    void Sig_DeviceSolarRadioMeterProtocolAOD(const protocol::RadioMeterAODProtocolAll& protocol);
    void Sig_DeviceSolarRadioMeterProtocolATR(const protocol::RadioMeterATRProtocolAll& protocol);
    void Sig_DeviceSolarRadioMeterProtocolLAT(const QString& lat);
    void Sig_DeviceSolarRadioMeterProtocolLON(const QString& lon);

private:
    Ui::widgetShowControlForm *ui;

    GroundWeatherStationDisplayForm m_groundStation;
    MScatteringLidarDisplayForm     m_scatterLidar;
    SolarRadiometerDisplayForm      m_solarradioMeter;
    VisibilityDisplayForm           m_visibility;
};

#endif // WIDGETSHOWCONTROLFORM_H
